package com.servicios.datos.app.sistema.impl;

import java.util.List;

import com.core.app.otd.ObtenerEntidadesPorCriterioRespuesta;
import com.core.app.servicios.ExcepcionServicio;
import com.core.app.servicios.crud.ServicioObtenerEntidadesPorCriterio;
import com.modelo.datos.app.WorkStation;
import com.objetos.transf.datos.app.sistema.ObtenerMacsPeticion;
import com.objetos.transf.datos.app.sistema.ObtenerMacsRespuesta;
import com.servicios.datos.app.sistema.ObtenerMacs;
import com.servicios.datos.excepcion.ExcepcionServicioDatos;

public class ObtenerMacsJPAImpl implements ObtenerMacs{

	private ServicioObtenerEntidadesPorCriterio obtenerEntidadesPorCriterio;
	
	@Override
	public ObtenerMacsRespuesta ejecutar(
			ObtenerMacsPeticion peticion)
			throws ExcepcionServicio {
		ObtenerMacsRespuesta respuesta = new ObtenerMacsRespuesta();
		ObtenerEntidadesPorCriterioRespuesta respuestaEntidad = new ObtenerEntidadesPorCriterioRespuesta();
		try{
			List<WorkStation> listaEntidades = obtenerEntidadesPorCriterio.ejecutar(peticion.getPeticionEntidad()).getListaEntidades();
			
			respuestaEntidad.setListaEntidades(listaEntidades);	
			respuesta.setRespuestaEntidad(respuestaEntidad);
		
		}catch(Throwable t){
			throw new ExcepcionServicioDatos("Error en el servicio de datos ObtenerWorkstationPorCriterio.- " + t.getMessage(), t.getCause());
		}
		
		
		return respuesta;	
	}

	public ServicioObtenerEntidadesPorCriterio getObtenerEntidadesPorCriterio() {
		return obtenerEntidadesPorCriterio;
	}

	public void setObtenerEntidadesPorCriterio(
			ServicioObtenerEntidadesPorCriterio obtenerEntidadesPorCriterio) {
		this.obtenerEntidadesPorCriterio = obtenerEntidadesPorCriterio;
	}

}
